<?php

class Zax_Module_App
{
	/**
	 * Inclusion de l'application "Default_File" et "Default_Dir"
	 * 
	 */
	public function __construct()
	{
		require_once ZAX_SYSTEM_PATH.'/Apps/Default_File/Default_File.app.php';		
		require_once ZAX_SYSTEM_PATH.'/Apps/Default_Dir/Default_Dir.app.php';		
		
	}
	
	
	/**
	 * Charge une application avec un paramètre
	 * 
	 * @param $app Nom de l'application
	 * @param $param Paramètre
	 * @return object Instance de l'application
	 */
	public function load($app,$param = null,$node = null)
	{		
		$class = 'Zax_App_'.$app;
		if(!class_exists($class,0)) 
		{
			if(file_exists(ZAX_SYSTEM_PATH."/Apps/$app/$app.app.php"))
				require_once ZAX_SYSTEM_PATH."/Apps/$app/$app.app.php";
			else
				return false;
		}
		$App = new $class($param);
		
		(substr($node,-1) == '/')?
			$load_method = 'Dir_Load':
			$load_method = 'File_Load';
		
		if($node) $App->$load_method($node);
		return ($App);
	}
}